package com.atguigu.mybatis.mapper;

import com.atguigu.mybatis.bean.User;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Date:2020/9/21
 * Author:ybc
 * Description:
 */
public interface UserMapper {

    /**
     * 添加用户信息
     */
    Integer addUser(User user);

    /**
     * 修改用户信息
     */
    Integer updateUser(User user);

    /**
     * 删除用户信息
     */
    Integer deleteUser(@Param("id") Integer id);

    /**
     * 批量删除
     * delete from t_user where id in(1,2,3)
     */
    Integer deleteMoreUser(@Param("ids") String ids);

    /**
     * 通过id查询用户信息
     */
    User getUserById(@Param("id") Integer id);

    /**
     * 查询一个list集合
     */
    List<User> getUserList();

    /**
     * 查询t_user表的总记录数
     */
    Integer getCount();

    /**
     * 以map的方式获取一条数据
     */
    Map<String, Object> getUserByMap(@Param("id") int id);

    /**
     * 以map的方式获取多条数据
     */
    @MapKey("id")
    Map<String, Object> getMoreUserByMap();

    /**
     * 验证登录
     */
    User checkLogin(@Param("username") String username, @Param("password") String password);

}
